/*
 * Copyright © 2020 www.noark.xyz All Rights Reserved.
 * 
 * 感谢您选择Noark框架，希望我们的努力能为您提供一个简单、易用、稳定的服务器端框架 ！
 * 除非符合Noark许可协议，否则不得使用该文件，您可以下载许可协议文件：
 * 
 * 		http://www.noark.xyz/LICENSE
 *
 * 1.未经许可，任何公司及个人不得以任何方式或理由对本框架进行修改、使用和传播;
 * 2.禁止在本项目或任何子项目的基础上发展任何派生版本、修改版本或第三方版本;
 * 3.无论你对源代码做出任何修改和改进，版权都归Noark研发团队所有，我们保留所有权利;
 * 4.凡侵犯Noark版权等知识产权的，必依法追究其法律责任，特此郑重法律声明！
 */
package com.company.qqsg.module.player.controller;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.company.qqsg.core.JsonHelper;
import com.company.qqsg.module.user.proto.CreateRoleReq;

import xyz.noark.core.annotation.Controller;
import xyz.noark.core.annotation.controller.CommandMapping;
import xyz.noark.core.annotation.controller.ExecThreadGroup;
import xyz.noark.core.network.Session.State;
import xyz.noark.core.util.MapUtils;
import xyz.noark.network.SocketSession;

/**
 * 
 *
 * @author 小流氓(176543888@qq.com)
 */
@Controller(threadGroup = ExecThreadGroup.ModuleThreadGroup)
public class PlayerController {

	
	/**
	 * 创建角色，这里还未进入游戏所以是AUTHENTICATED状态
	 */
	@CommandMapping(opcode = "getCanChooseForceInfo", state = State.AUTHENTICATED)
	public String getCanChooseForceInfo(SocketSession session, CreateRoleReq req) {
//		/* 1606 */     JsonDocument doc = new JsonDocument();
//		/* 1607 */     doc.startObject();
//		/*      */     
//		/* 1609 */     doc.startArray("randomReward");
//		/* 1610 */     doc.createElement(getRandChooseDiamondItem().getIItemDo());
//		/* 1611 */     doc.endArray();
//		/*      */ 
//		/*      */     
//		/* 1614 */     ServerForceCountRecord countRecord = (ServerForceCountRecord)countInfo.right;
//		/* 1615 */     int allNum = countRecord.getServerId();
//		/* 1616 */     doc.startArray("forceList");
//		/* 1617 */     for (int forceId : Forces.PLAYER_FORCES) {
//		/* 1618 */       doc.startObject();
//		/* 1619 */       doc.createElement("forceId", Integer.valueOf(forceId));
//		/* 1620 */       doc.createElement("canChoose", Boolean.valueOf(testCanChoose(allNum, countRecord.getCount(forceId))));
//		/* 1621 */       doc.endObject();
//		/*      */     } 
//		/* 1623 */     doc.endArray();
//		/* 1624 */     doc.createElement("randomForce", Integer.valueOf(ForceCountManager.getInstance().getMinForce(userId)));
//		/* 1625 */     doc.endObject();
//		/* 1626 */     return JsonBuilder.getJson(State.SUCCESS, doc.toByte());
		
		Map<String, Object> data = new HashMap<>();
		
		data.put("randomReward", new ArrayList<>());
		
		
		List<Object> list = new ArrayList<>();
		{
			Map<String, Object> x1 = new HashMap<>();
			list.add(x1);
			x1.put("forceId", 1);
			x1.put("canChoose", true);
		}{
			Map<String, Object> x1 = new HashMap<>();
			list.add(x1);
			x1.put("forceId", 2);
			x1.put("canChoose", true);
		}
		Map<String, Object> x1 = new HashMap<>();
		list.add(x1);
		x1.put("forceId", 3);
		x1.put("canChoose", true);
		
		
		
		data.put("forceList", list);
		data.put("randomForce", 2);
		return JsonHelper.build(com.company.qqsg.core.JsonHelper.State.SUCCESS, data);
	}
	
}
